/* USER CODE BEGIN Header */
/**
 ******************************************************************************
 * @file           : mf_iwdt.h
 * @brief          : Header for mf_iwdt.c file.
 *                   This file contains the common defines of the application.
 ******************************************************************************
 * @attention
 *
 * Copyright (c) [2021] [Fudan Microelectronics]
 * THIS SOFTWARE is licensed under Mulan PSL v2.
 * can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 *
 ******************************************************************************
 */
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MF_IWDT_H
#define __MF_IWDT_H

#ifdef __cplusplus
extern "C"
{
#endif

    /* Includes ------------------------------------------------------------------*/

    /* Private includes ----------------------------------------------------------*/
    /* USER CODE BEGIN Includes */

#include "fm33le0xx_fl.h"

    /* USER CODE END Includes */

    /* Exported types ------------------------------------------------------------*/
    /* USER CODE BEGIN ET */

    typedef enum
    {
        MF_IWDT_TIM_125MS,
        MF_IWDT_TIM_250MS,
        MF_IWDT_TIM_500MS,
        MF_IWDT_TIM_1000MS,
        MF_IWDT_TIM_2000MS,
        MF_IWDT_TIM_4000MS,
        MF_IWDT_TIM_8000MS,
        MF_IWDT_TIM_16000MS,
    } MF_IWDT_PERIOD;
#define MF_IWDT_BASE (IWDT)

    /* USER CODE END ET */

    /* Exported constants --------------------------------------------------------*/
    /* USER CODE BEGIN EC */

    /* USER CODE END EC */

    /* Exported macro ------------------------------------------------------------*/
    /* USER CODE BEGIN EM */

    /* USER CODE END EM */

    /* Exported functions prototypes ---------------------------------------------*/

    void mf_iwdt_init(MF_IWDT_PERIOD iwdt_period);
    void mf_iwdt_refresh(void);

    /* USER CODE BEGIN EFP */

    /* USER CODE END EFP */

    /* Private defines -----------------------------------------------------------*/

    /* USER CODE BEGIN Private defines */

    /* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

#endif /* __MF_IWDT_H */

/************************ (C) COPYRIGHT FMSH *****END OF FILE****/
